// Copyright (c) 2024 CHANGLEI. All rights reserved.

import 'package:charts_grasp/src/circular_chart/renderer/common.dart';
import 'package:charts_grasp/src/common/common.dart';
import 'package:charts_grasp/src/common/legend/legend.dart';
import 'package:charts_grasp/src/common/legend/renderer.dart';
import 'package:charts_grasp/src/common/template/rendering.dart';
import 'package:charts_grasp/src/common/user_interaction/tooltip.dart';
import 'package:charts_grasp/src/core/theme.dart';
import 'package:flutter/material.dart';

class RenderingDetails {
  late AnimationController animationController;

  late AnimationController annotationController;

  late ValueNotifier<int> seriesRepaintNotifier;

  late Animation<double> chartElementAnimation;

  late List<MeasureWidgetContext> legendWidgetContext;

  late List<MeasureWidgetContext> legendToggleTemplateStates;

  late List<LegendRenderContext> legendToggleStates;

  late bool isLegendToggled;

  late ChartLegend chartLegend;

  late LegendRenderer legendRenderer;

  late TooltipBehaviorRenderer tooltipBehaviorRenderer;

  ChartInteraction? currentActive;

  Offset? tapPosition;

  late List<int> selectionData;

  late Rect chartContainerRect;

  late Rect chartAreaRect;

  late List<Rect> dataLabelTemplateRegions;

  late List<ChartTemplateInfo> templates;

  ChartTemplate? chartTemplate;

  late CgChartThemeData chartTheme;

  late ThemeData themeData;

  late List<int> explodedPoints;

  bool? initialRender;

  late bool animateCompleted;

  late bool widgetNeedUpdate;

  Orientation? oldDeviceOrientation;

  late Orientation deviceOrientation;

  Size? prevSize;

  Locale? prevLocale;

  late bool didSizeChange;

  late bool didLocaleChange;

  List<Widget>? chartWidgets;

  late bool isRtl;
}
